[INFO] cloning repository https://github.com/near/mpc-threshold-signatures
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/near/mpc-threshold-signatures" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnear%2Fmpc-threshold-signatures", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnear%2Fmpc-threshold-signatures'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a09466ab4a26d53d95db2b7d4038c554bd02a921
[INFO] fixing near/mpc-threshold-signatures against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnear%2Fmpc-threshold-signatures" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/near/mpc-threshold-signatures
[INFO] finished tweaking git repo https://github.com/near/mpc-threshold-signatures
[INFO] tweaked toml for git repo https://github.com/near/mpc-threshold-signatures written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/near/mpc-threshold-signatures on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/near/mpc-threshold-signatures already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6
[INFO] running `Command { std: "docker" "start" "4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking debugless-unwrap v0.0.4
[INFO] [stderr]     Checking const-crc32-nostd v1.3.1
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling borsh v1.6.0
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking rmp v0.8.15
[INFO] [stderr]     Checking blake2b_simd v1.0.4
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking byte-slice-cast v1.2.3
[INFO] [stderr]     Checking keccak v0.1.6
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking easy-cast v0.5.4
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking auto_ops v0.3.0
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]    Compiling blst v0.3.16
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking average v0.16.0
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking bls12_381 v0.8.0
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]    Compiling pest_generator v2.8.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling visibility v0.1.1
[INFO] [stderr]    Compiling derive-getters v0.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking cobs v0.3.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking serdect v0.2.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking rmp-serde v1.3.1
[INFO] [stderr]     Checking insta v1.46.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking postcard v1.1.3
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking frost-core v2.2.0
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking jubjub v0.10.0
[INFO] [stderr]     Checking pasta_curves v0.5.1
[INFO] [stderr]     Checking pairing v0.23.0
[INFO] [stderr]     Checking blstrs v0.7.1
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking frost-rerandomized v2.2.0
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking frost-ed25519 v2.2.0
[INFO] [stderr]     Checking reddsa v0.5.1 (https://github.com/near/reddsa?rev=c7cd92a55f7399d8d7f8c0ac386445b5f898f197#c7cd92a5)
[INFO] [stderr]     Checking frost-secp256k1 v2.2.0
[INFO] [stderr]     Checking threshold-signatures v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/dkg.rs (1 fix)
[INFO] [stderr]        Fixed src/ecdsa/ot_based_ecdsa/presign.rs (1 fix)
[INFO] [stderr]        Fixed src/ecdsa/ot_based_ecdsa/triples/bits.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/protocol/echo_broadcast.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut vote = match send_vote {
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `vote` calls a custom destructor
[INFO] [stdout]     |         `vote` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |             match chan.recv(wait).await {
[INFO] [stdout]     |                   ---------------------
[INFO] [stdout]     |                   |               |
[INFO] [stdout]     |                   |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 180 |                 Ok(value) => (from, (sid, vote)) = value,
[INFO] [stdout]     |                    -----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `value` calls a custom destructor
[INFO] [stdout]     |                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |         match vote.clone() {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 192 |             // Receive send vote then echo to everybody
[INFO] [stdout] 193 |             MessageType::Send(data) => {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `data` calls a custom destructor
[INFO] [stdout]     |                               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 212 |             MessageType::Echo(data) => {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |             MessageType::Ready(data) => {
[INFO] [stdout]     |                                ----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 311 |                     if sid == participants.index(me)? && MessageType::Send(data) != send_vote {
[INFO] [stdout]     |                                                          -----------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = KeygenOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lib.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 | ) -> Result<impl Protocol<Output = KeygenOutput<C>>, InitializationError>
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lib.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/lib.rs:91:16
[INFO] [stdout]    |
[INFO] [stdout] 91 |     threshold: impl Into<ReconstructionLowerBound> + Send + Copy + 'static,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 88 ~ pub fn keygen<C: Ciphersuite, T: Into<ReconstructionLowerBound> + Send + Copy + 'static, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 89 |     participants: &[Participant],
[INFO] [stdout] 90 |     me: Participant,
[INFO] [stdout] 91 ~     threshold: T,
[INFO] [stdout] 92 ~     rng: U,
[INFO] [stdout] 93 ~ ) -> Result<impl Protocol<Output = KeygenOutput<C>> + use<C, T, U>, InitializationError>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = KeygenOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 | ) -> Result<impl Protocol<Output = KeygenOutput<C>>, InitializationError>
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |     old_participants: &[Participant],
[INFO] [stdout]     |                       ^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     new_participants: &[Participant],
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 108 |     old_threshold: impl Into<ReconstructionLowerBound> + Send + 'static,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     new_threshold: impl Into<ReconstructionLowerBound> + Copy + Send + 'static,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     me: Participant,
[INFO] [stdout] 114 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 106 ~ pub fn reshare<C: Ciphersuite, T: Into<ReconstructionLowerBound> + Send + 'static, U: Into<ReconstructionLowerBound> + Copy + Send + 'static, V: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 107 |     old_participants: &[Participant],
[INFO] [stdout] 108 ~     old_threshold: T,
[INFO] [stdout] 109 |     old_signing_key: Option<SigningShare<C>>,
[INFO] [stdout] 110 |     old_public_key: VerifyingKey<C>,
[INFO] [stdout] 111 |     new_participants: &[Participant],
[INFO] [stdout] 112 ~     new_threshold: U,
[INFO] [stdout] 113 |     me: Participant,
[INFO] [stdout] 114 ~     rng: V,
[INFO] [stdout] 115 ~ ) -> Result<impl Protocol<Output = KeygenOutput<C>> + use<C, T, U, V>, InitializationError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = KeygenOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 | ) -> Result<impl Protocol<Output = KeygenOutput<C>>, InitializationError>
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     old_participants: &[Participant],
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     old_threshold: impl Into<ReconstructionLowerBound> + Copy + Send + 'static,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     me: Participant,
[INFO] [stdout] 150 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 144 ~ pub fn refresh<C: Ciphersuite, T: Into<ReconstructionLowerBound> + Copy + Send + 'static, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 145 |     old_signing_key: Option<SigningShare<C>>,
[INFO] [stdout] 146 |     old_public_key: VerifyingKey<C>,
[INFO] [stdout] 147 |     old_participants: &[Participant],
[INFO] [stdout] 148 ~     old_threshold: T,
[INFO] [stdout] 149 |     me: Participant,
[INFO] [stdout] 150 ~     rng: U,
[INFO] [stdout] 151 ~ ) -> Result<impl Protocol<Output = KeygenOutput<C>> + use<C, T, U>, InitializationError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<CKDOutput>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/confidential_key_derivation/protocol.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<impl Protocol<Output = CKDOutputOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/confidential_key_derivation/protocol.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/confidential_key_derivation/protocol.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |     app_id: impl Into<AppId>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     app_pk: PublicKey,
[INFO] [stdout] 73 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 66 ~ pub fn ckd<T: Into<AppId>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 67 |     participants: &[Participant],
[INFO] [stdout] ...
[INFO] [stdout] 70 |     key_pair: KeygenOutput,
[INFO] [stdout] 71 ~     app_id: T,
[INFO] [stdout] 72 |     app_pk: PublicKey,
[INFO] [stdout] 73 ~     rng: U,
[INFO] [stdout] 74 ~ ) -> Result<impl Protocol<Output = CKDOutputOption> + use<T, U>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<ecdsa::Signature>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/ecdsa/ot_based_ecdsa/sign.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/ecdsa/ot_based_ecdsa/sign.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/ecdsa/ot_based_ecdsa/sign.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 22 ~ pub fn sign<T: Into<ReconstructionLowerBound>>(
[INFO] [stdout] 23 |     participants: &[Participant],
[INFO] [stdout] 24 |     coordinator: Participant,
[INFO] [stdout] 25 ~     threshold: T,
[INFO] [stdout] 26 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 29 |     msg_hash: Scalar,
[INFO] [stdout] 30 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = (TripleShare, TriplePub)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:722:13
[INFO] [stdout]     |
[INFO] [stdout] 722 | ) -> Result<impl Protocol<Output = TripleGenerationOutput>, InitializationError> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:718:19
[INFO] [stdout]     |
[INFO] [stdout] 718 |     participants: &[Participant],
[INFO] [stdout]     |                   ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:720:16
[INFO] [stdout]     |
[INFO] [stdout] 720 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 721 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 717 ~ pub fn generate_triple<T: Into<ReconstructionLowerBound>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 718 |     participants: &[Participant],
[INFO] [stdout] 719 |     me: Participant,
[INFO] [stdout] 720 ~     threshold: T,
[INFO] [stdout] 721 ~     rng: U,
[INFO] [stdout] 722 ~ ) -> Result<impl Protocol<Output = TripleGenerationOutput> + use<T, U>, InitializationError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = Vec<(TripleShare, TriplePub)>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 | ) -> Result<impl Protocol<Output = TripleGenerationOutputMany>, InitializationError> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:731:19
[INFO] [stdout]     |
[INFO] [stdout] 731 |     participants: &[Participant],
[INFO] [stdout]     |                   ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:733:16
[INFO] [stdout]     |
[INFO] [stdout] 733 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 734 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 730 ~ pub fn generate_triple_many<const N: usize, T: Into<ReconstructionLowerBound>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 731 |     participants: &[Participant],
[INFO] [stdout] 732 |     me: Participant,
[INFO] [stdout] 733 ~     threshold: T,
[INFO] [stdout] 734 ~     rng: U,
[INFO] [stdout] 735 ~ ) -> Result<impl Protocol<Output = TripleGenerationOutputMany> + use<N, T, U>, InitializationError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = robust_ecdsa::PresignOutput>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/presign.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | ) -> Result<impl Protocol<Output = PresignOutput>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/presign.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/presign.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 30 ~ pub fn presign<T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 31 |     participants: &[Participant],
[INFO] [stdout] 32 |     me: Participant,
[INFO] [stdout] 33 |     args: PresignArguments,
[INFO] [stdout] 34 ~     rng: T,
[INFO] [stdout] 35 ~ ) -> Result<impl Protocol<Output = PresignOutput> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<ecdsa::Signature>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/sign.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/sign.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/sign.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |     max_malicious: impl Into<MaxMalicious>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 33 ~ pub fn sign<T: Into<MaxMalicious>>(
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout] 35 |     coordinator: Participant,
[INFO] [stdout] 36 ~     max_malicious: T,
[INFO] [stdout] 37 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 40 |     msg_hash: Scalar,
[INFO] [stdout] 41 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = frost::PresignOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/mod.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 | ) -> Result<impl Protocol<Output = PresignOutput<C>>, InitializationError>
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/mod.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout] 46 |     me: Participant,
[INFO] [stdout] 47 |     args: &PresignArguments<C>,
[INFO] [stdout]    |           ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/mod.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn presign<C, T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 45 |     participants: &[Participant],
[INFO] [stdout] 46 |     me: Participant,
[INFO] [stdout] 47 |     args: &PresignArguments<C>,
[INFO] [stdout] 48 ~     rng: T,
[INFO] [stdout] 49 ~ ) -> Result<impl Protocol<Output = PresignOutput<C>> + use<C, T>, InitializationError>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = frost::PresignOutput<Ed25519Sha512>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/eddsa/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 | ) -> Result<impl Protocol<Output = PresignOutput>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/eddsa/mod.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout] 35 |     me: Participant,
[INFO] [stdout] 36 |     args: &PresignArguments,
[INFO] [stdout]    |           ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/eddsa/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 33 ~ pub fn presign<T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout] 35 |     me: Participant,
[INFO] [stdout] 36 |     args: &PresignArguments,
[INFO] [stdout] 37 ~     rng: T,
[INFO] [stdout] 38 ~ ) -> Result<impl Protocol<Output = PresignOutput> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<frost_core::Signature<Ed25519Sha512>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 37 ~ pub fn sign_v1<T: Into<ReconstructionLowerBound>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 38 |     participants: &[Participant],
[INFO] [stdout] 39 ~     threshold: T,
[INFO] [stdout] 40 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 43 |     message: Vec<u8>,
[INFO] [stdout] 44 ~     rng: U,
[INFO] [stdout] 45 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T, U>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<frost_core::Signature<Ed25519Sha512>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 66 |     threshold: impl Into<ReconstructionLowerBound> + Copy,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 64 ~ pub fn sign_v2<T: Into<ReconstructionLowerBound> + Copy>(
[INFO] [stdout] 65 |     participants: &[Participant],
[INFO] [stdout] 66 ~     threshold: T,
[INFO] [stdout] 67 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 71 |     message: Vec<u8>,
[INFO] [stdout] 72 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = frost::PresignOutput<JubjubBlake2b512>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/redjubjub/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) -> Result<impl Protocol<Output = PresignOutput>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/redjubjub/mod.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout] 40 |     me: Participant,
[INFO] [stdout] 41 |     args: &PresignArguments,
[INFO] [stdout]    |           ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/redjubjub/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 38 ~ pub fn presign<T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 39 |     participants: &[Participant],
[INFO] [stdout] 40 |     me: Participant,
[INFO] [stdout] 41 |     args: &PresignArguments,
[INFO] [stdout] 42 ~     rng: T,
[INFO] [stdout] 43 ~ ) -> Result<impl Protocol<Output = PresignOutput> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<frost_core::Signature<JubjubBlake2b512>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/redjubjub/sign.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/redjubjub/sign.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/redjubjub/sign.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 39 ~ pub fn sign<T: Into<ReconstructionLowerBound>>(
[INFO] [stdout] 40 |     participants: &[Participant],
[INFO] [stdout] 41 ~     threshold: T,
[INFO] [stdout] 42 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 47 |     randomizer: Option<Randomizer>,
[INFO] [stdout] 48 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/advanced_robust_ecdsa.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/protocol/echo_broadcast.rs (2 fixes)
[INFO] [stderr]    Migrating benches/advanced_ot_based_ecdsa.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/protocol/echo_broadcast.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut vote = match send_vote {
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `vote` calls a custom destructor
[INFO] [stdout]     |         `vote` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |             match chan.recv(wait).await {
[INFO] [stdout]     |                   ---------------------
[INFO] [stdout]     |                   |               |
[INFO] [stdout]     |                   |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 180 |                 Ok(value) => (from, (sid, vote)) = value,
[INFO] [stdout]     |                    -----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `value` calls a custom destructor
[INFO] [stdout]     |                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |         match vote.clone() {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 192 |             // Receive send vote then echo to everybody
[INFO] [stdout] 193 |             MessageType::Send(data) => {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `data` calls a custom destructor
[INFO] [stdout]     |                               `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 212 |             MessageType::Echo(data) => {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |             MessageType::Ready(data) => {
[INFO] [stdout]     |                                ----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 311 |                     if sid == participants.index(me)? && MessageType::Send(data) != send_vote {
[INFO] [stdout]     |                                                          -----------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/ecdsa/ot_based_ecdsa/triples/batch_random_ot.rs:423:18
[INFO] [stdout]      |
[INFO] [stdout]  412 |           let comms_s = Comms::new();
[INFO] [stdout]      |               -------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `comms_s` calls a custom destructor
[INFO] [stdout]      |               `comms_s` will be dropped later as of Edition 2024
[INFO] [stdout]  413 |           let comms_r = Comms::new();
[INFO] [stdout]      |               -------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `comms_r` calls a custom destructor
[INFO] [stdout]      |               `comms_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  419 |               &mut make_protocol(
[INFO] [stdout]      |  __________________-
[INFO] [stdout]  420 | |                 comms_s.clone(),
[INFO] [stdout]  421 | |                 batch_random_ot_sender_many::<N>(comms_s.private_channel(s, r), rng_1),
[INFO] [stdout]  422 | |             ),
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  423 |               &mut make_protocol(
[INFO] [stdout]      |  __________________^
[INFO] [stdout]      | |__________________|
[INFO] [stdout]  424 | |                 comms_r.clone(),
[INFO] [stdout]  425 | |                 batch_random_ot_receiver_many::<N>(comms_r.private_channel(r, s), rng_2),
[INFO] [stdout]  426 | |             ),
[INFO] [stdout]      | |             ^
[INFO] [stdout]      | |_____________|
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  427 |           )
[INFO] [stdout]  428 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `comms_s` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:1257:1
[INFO] [stdout]      |
[INFO] [stdout] 1257 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `comms_s` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:933:1
[INFO] [stdout]      |
[INFO] [stdout]  933 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `comms_r` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:1257:1
[INFO] [stdout]      |
[INFO] [stdout] 1257 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `comms_r` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:933:1
[INFO] [stdout]      |
[INFO] [stdout]  933 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/ecdsa/ot_based_ecdsa/triples/mta.rs:169:18
[INFO] [stdout]      |
[INFO] [stdout]  159 |           let ctx_s = Comms::new();
[INFO] [stdout]      |               -----
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `ctx_s` calls a custom destructor
[INFO] [stdout]      |               `ctx_s` will be dropped later as of Edition 2024
[INFO] [stdout]  160 |           let ctx_r = Comms::new();
[INFO] [stdout]      |               -----
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `ctx_r` calls a custom destructor
[INFO] [stdout]      |               `ctx_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  165 |               &mut make_protocol(ctx_s.clone(), {
[INFO] [stdout]      |  __________________-
[INFO] [stdout]  166 | |                 let delta = mta_sender_random_helper(v.len(), &mut rng);
[INFO] [stdout]  167 | |                 mta_sender(ctx_s.private_channel(s, r), v, a, delta)
[INFO] [stdout]  168 | |             }),
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |              |
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  169 |               &mut make_protocol(ctx_r.clone(), {
[INFO] [stdout]      |  __________________^
[INFO] [stdout]      | |__________________|
[INFO] [stdout]  170 | |                 let seed = mta_receiver_random_helper(&mut rng);
[INFO] [stdout]  171 | |                 mta_receiver(ctx_r.private_channel(r, s), tv, b, seed)
[INFO] [stdout]  172 | |             }),
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  173 |           )
[INFO] [stdout]  174 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `ctx_s` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:1257:1
[INFO] [stdout]      |
[INFO] [stdout] 1257 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx_s` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:933:1
[INFO] [stdout]      |
[INFO] [stdout]  933 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx_r` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:1257:1
[INFO] [stdout]      |
[INFO] [stdout] 1257 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx_r` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:933:1
[INFO] [stdout]      |
[INFO] [stdout]  933 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/ecdsa/ot_based_ecdsa/triples/test.rs:77:14
[INFO] [stdout]      |
[INFO] [stdout]   67 |       let comms_s = Comms::new();
[INFO] [stdout]      |           -------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `comms_s` calls a custom destructor
[INFO] [stdout]      |           `comms_s` will be dropped later as of Edition 2024
[INFO] [stdout]   68 |       let comms_r = Comms::new();
[INFO] [stdout]      |           -------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `comms_r` calls a custom destructor
[INFO] [stdout]      |           `comms_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   73 |           &mut make_protocol(comms_s.clone(), {
[INFO] [stdout]      |  ______________-
[INFO] [stdout]   74 | |             let y = super::batch_random_ot::batch_random_ot_sender_helper(&mut rng);
[INFO] [stdout]   75 | |             super::batch_random_ot::batch_random_ot_sender(comms_s.private_channel(s, r), y)
[INFO] [stdout]   76 | |         }),
[INFO] [stdout]      | |          -
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   77 |           &mut make_protocol(comms_r.clone(), {
[INFO] [stdout]      |  ______________^
[INFO] [stdout]      | |______________|
[INFO] [stdout]   78 | |             let (delta, x) =
[INFO] [stdout]   79 | |                 super::batch_random_ot::batch_random_ot_receiver_random_helper(&mut rng);
[INFO] [stdout]   80 | |             super::batch_random_ot::batch_random_ot_receiver(
[INFO] [stdout] ...    |
[INFO] [stdout]   85 | |         }),
[INFO] [stdout]      | |          ^
[INFO] [stdout]      | |__________|
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   86 |       )
[INFO] [stdout]   87 | | }
[INFO] [stdout]      | | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `comms_s` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:1257:1
[INFO] [stdout]      |
[INFO] [stdout] 1257 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `comms_s` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:933:1
[INFO] [stdout]      |
[INFO] [stdout]  933 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `comms_r` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:1257:1
[INFO] [stdout]      |
[INFO] [stdout] 1257 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `comms_r` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/mpsc/mod.rs:933:1
[INFO] [stdout]      |
[INFO] [stdout]  933 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = KeygenOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/lib.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 | ) -> Result<impl Protocol<Output = KeygenOutput<C>>, InitializationError>
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/lib.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/lib.rs:91:16
[INFO] [stdout]    |
[INFO] [stdout] 91 |     threshold: impl Into<ReconstructionLowerBound> + Send + Copy + 'static,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 88 ~ pub fn keygen<C: Ciphersuite, T: Into<ReconstructionLowerBound> + Send + Copy + 'static, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 89 |     participants: &[Participant],
[INFO] [stdout] 90 |     me: Participant,
[INFO] [stdout] 91 ~     threshold: T,
[INFO] [stdout] 92 ~     rng: U,
[INFO] [stdout] 93 ~ ) -> Result<impl Protocol<Output = KeygenOutput<C>> + use<C, T, U>, InitializationError>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = KeygenOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 | ) -> Result<impl Protocol<Output = KeygenOutput<C>>, InitializationError>
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |     old_participants: &[Participant],
[INFO] [stdout]     |                       ^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     new_participants: &[Participant],
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 108 |     old_threshold: impl Into<ReconstructionLowerBound> + Send + 'static,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     new_threshold: impl Into<ReconstructionLowerBound> + Copy + Send + 'static,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     me: Participant,
[INFO] [stdout] 114 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 106 ~ pub fn reshare<C: Ciphersuite, T: Into<ReconstructionLowerBound> + Send + 'static, U: Into<ReconstructionLowerBound> + Copy + Send + 'static, V: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 107 |     old_participants: &[Participant],
[INFO] [stdout] 108 ~     old_threshold: T,
[INFO] [stdout] 109 |     old_signing_key: Option<SigningShare<C>>,
[INFO] [stdout] 110 |     old_public_key: VerifyingKey<C>,
[INFO] [stdout] 111 |     new_participants: &[Participant],
[INFO] [stdout] 112 ~     new_threshold: U,
[INFO] [stdout] 113 |     me: Participant,
[INFO] [stdout] 114 ~     rng: V,
[INFO] [stdout] 115 ~ ) -> Result<impl Protocol<Output = KeygenOutput<C>> + use<C, T, U, V>, InitializationError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = KeygenOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 | ) -> Result<impl Protocol<Output = KeygenOutput<C>>, InitializationError>
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     old_participants: &[Participant],
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     old_threshold: impl Into<ReconstructionLowerBound> + Copy + Send + 'static,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     me: Participant,
[INFO] [stdout] 150 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 144 ~ pub fn refresh<C: Ciphersuite, T: Into<ReconstructionLowerBound> + Copy + Send + 'static, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 145 |     old_signing_key: Option<SigningShare<C>>,
[INFO] [stdout] 146 |     old_public_key: VerifyingKey<C>,
[INFO] [stdout] 147 |     old_participants: &[Participant],
[INFO] [stdout] 148 ~     old_threshold: T,
[INFO] [stdout] 149 |     me: Participant,
[INFO] [stdout] 150 ~     rng: U,
[INFO] [stdout] 151 ~ ) -> Result<impl Protocol<Output = KeygenOutput<C>> + use<C, T, U>, InitializationError>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<CKDOutput>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/confidential_key_derivation/protocol.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 | ) -> Result<impl Protocol<Output = CKDOutputOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/confidential_key_derivation/protocol.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/confidential_key_derivation/protocol.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |     app_id: impl Into<AppId>,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     app_pk: PublicKey,
[INFO] [stdout] 73 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 66 ~ pub fn ckd<T: Into<AppId>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 67 |     participants: &[Participant],
[INFO] [stdout] ...
[INFO] [stdout] 70 |     key_pair: KeygenOutput,
[INFO] [stdout] 71 ~     app_id: T,
[INFO] [stdout] 72 |     app_pk: PublicKey,
[INFO] [stdout] 73 ~     rng: U,
[INFO] [stdout] 74 ~ ) -> Result<impl Protocol<Output = CKDOutputOption> + use<T, U>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<ecdsa::Signature>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/ecdsa/ot_based_ecdsa/sign.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/ecdsa/ot_based_ecdsa/sign.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/ecdsa/ot_based_ecdsa/sign.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 22 ~ pub fn sign<T: Into<ReconstructionLowerBound>>(
[INFO] [stdout] 23 |     participants: &[Participant],
[INFO] [stdout] 24 |     coordinator: Participant,
[INFO] [stdout] 25 ~     threshold: T,
[INFO] [stdout] 26 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 29 |     msg_hash: Scalar,
[INFO] [stdout] 30 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = (TripleShare, TriplePub)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:722:13
[INFO] [stdout]     |
[INFO] [stdout] 722 | ) -> Result<impl Protocol<Output = TripleGenerationOutput>, InitializationError> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:718:19
[INFO] [stdout]     |
[INFO] [stdout] 718 |     participants: &[Participant],
[INFO] [stdout]     |                   ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:720:16
[INFO] [stdout]     |
[INFO] [stdout] 720 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 721 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 717 ~ pub fn generate_triple<T: Into<ReconstructionLowerBound>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 718 |     participants: &[Participant],
[INFO] [stdout] 719 |     me: Participant,
[INFO] [stdout] 720 ~     threshold: T,
[INFO] [stdout] 721 ~     rng: U,
[INFO] [stdout] 722 ~ ) -> Result<impl Protocol<Output = TripleGenerationOutput> + use<T, U>, InitializationError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = Vec<(TripleShare, TriplePub)>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 | ) -> Result<impl Protocol<Output = TripleGenerationOutputMany>, InitializationError> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:731:19
[INFO] [stdout]     |
[INFO] [stdout] 731 |     participants: &[Participant],
[INFO] [stdout]     |                   ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/ecdsa/ot_based_ecdsa/triples/generation.rs:733:16
[INFO] [stdout]     |
[INFO] [stdout] 733 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 734 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 730 ~ pub fn generate_triple_many<const N: usize, T: Into<ReconstructionLowerBound>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 731 |     participants: &[Participant],
[INFO] [stdout] 732 |     me: Participant,
[INFO] [stdout] 733 ~     threshold: T,
[INFO] [stdout] 734 ~     rng: U,
[INFO] [stdout] 735 ~ ) -> Result<impl Protocol<Output = TripleGenerationOutputMany> + use<N, T, U>, InitializationError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = robust_ecdsa::PresignOutput>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/presign.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | ) -> Result<impl Protocol<Output = PresignOutput>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/presign.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/presign.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 30 ~ pub fn presign<T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 31 |     participants: &[Participant],
[INFO] [stdout] 32 |     me: Participant,
[INFO] [stdout] 33 |     args: PresignArguments,
[INFO] [stdout] 34 ~     rng: T,
[INFO] [stdout] 35 ~ ) -> Result<impl Protocol<Output = PresignOutput> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<ecdsa::Signature>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/sign.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/sign.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/ecdsa/robust_ecdsa/sign.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |     max_malicious: impl Into<MaxMalicious>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 33 ~ pub fn sign<T: Into<MaxMalicious>>(
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout] 35 |     coordinator: Participant,
[INFO] [stdout] 36 ~     max_malicious: T,
[INFO] [stdout] 37 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 40 |     msg_hash: Scalar,
[INFO] [stdout] 41 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = frost::PresignOutput<C>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/mod.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 | ) -> Result<impl Protocol<Output = PresignOutput<C>>, InitializationError>
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/mod.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout] 46 |     me: Participant,
[INFO] [stdout] 47 |     args: &PresignArguments<C>,
[INFO] [stdout]    |           ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/mod.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn presign<C, T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 45 |     participants: &[Participant],
[INFO] [stdout] 46 |     me: Participant,
[INFO] [stdout] 47 |     args: &PresignArguments<C>,
[INFO] [stdout] 48 ~     rng: T,
[INFO] [stdout] 49 ~ ) -> Result<impl Protocol<Output = PresignOutput<C>> + use<C, T>, InitializationError>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = frost::PresignOutput<Ed25519Sha512>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/eddsa/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 | ) -> Result<impl Protocol<Output = PresignOutput>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/eddsa/mod.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout] 35 |     me: Participant,
[INFO] [stdout] 36 |     args: &PresignArguments,
[INFO] [stdout]    |           ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/eddsa/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 33 ~ pub fn presign<T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 34 |     participants: &[Participant],
[INFO] [stdout] 35 |     me: Participant,
[INFO] [stdout] 36 |     args: &PresignArguments,
[INFO] [stdout] 37 ~     rng: T,
[INFO] [stdout] 38 ~ ) -> Result<impl Protocol<Output = PresignOutput> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<frost_core::Signature<Ed25519Sha512>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 37 ~ pub fn sign_v1<T: Into<ReconstructionLowerBound>, U: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 38 |     participants: &[Participant],
[INFO] [stdout] 39 ~     threshold: T,
[INFO] [stdout] 40 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 43 |     message: Vec<u8>,
[INFO] [stdout] 44 ~     rng: U,
[INFO] [stdout] 45 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T, U>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<frost_core::Signature<Ed25519Sha512>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/eddsa/sign.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 66 |     threshold: impl Into<ReconstructionLowerBound> + Copy,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 64 ~ pub fn sign_v2<T: Into<ReconstructionLowerBound> + Copy>(
[INFO] [stdout] 65 |     participants: &[Participant],
[INFO] [stdout] 66 ~     threshold: T,
[INFO] [stdout] 67 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 71 |     message: Vec<u8>,
[INFO] [stdout] 72 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = frost::PresignOutput<JubjubBlake2b512>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/redjubjub/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) -> Result<impl Protocol<Output = PresignOutput>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/redjubjub/mod.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout] 40 |     me: Participant,
[INFO] [stdout] 41 |     args: &PresignArguments,
[INFO] [stdout]    |           ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/redjubjub/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 38 ~ pub fn presign<T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 39 |     participants: &[Participant],
[INFO] [stdout] 40 |     me: Participant,
[INFO] [stdout] 41 |     args: &PresignArguments,
[INFO] [stdout] 42 ~     rng: T,
[INFO] [stdout] 43 ~ ) -> Result<impl Protocol<Output = PresignOutput> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Protocol<Output = std::option::Option<frost_core::Signature<JubjubBlake2b512>>>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/frost/redjubjub/sign.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 | ) -> Result<impl Protocol<Output = SignatureOption>, InitializationError> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/frost/redjubjub/sign.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |     participants: &[Participant],
[INFO] [stdout]    |                   ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/redjubjub/sign.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     threshold: impl Into<ReconstructionLowerBound>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 39 ~ pub fn sign<T: Into<ReconstructionLowerBound>>(
[INFO] [stdout] 40 |     participants: &[Participant],
[INFO] [stdout] 41 ~     threshold: T,
[INFO] [stdout] 42 |     me: Participant,
[INFO] [stdout] ...
[INFO] [stdout] 47 |     randomizer: Option<Randomizer>,
[INFO] [stdout] 48 ~ ) -> Result<impl Protocol<Output = SignatureOption> + use<T>, InitializationError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/common.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/advanced_eddsa_frost.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/inversion.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/lagrange.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/ckd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/naive_robust_ecdsa.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/ckd.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/robust_ecdsa.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/naive_ot_based_ecdsa.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/eddsa.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/bench_utils.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.05s
[INFO] [stderr] crater-edition-check: threshold-signatures v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking threshold-signatures v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/dkg.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |     participants: &[Participant],
[INFO] [stdout]    |                   - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 25 |     let mut protocols: DKGGenProtocol<C> = Vec::with_capacity(participants.len());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/dkg.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     participants: &[Participant],
[INFO] [stdout]    |                   - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 48 |     let mut protocols: DKGGenProtocol<C> = Vec::with_capacity(participants.len());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/dkg.rs:99:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |     participants: &[Participant],
[INFO] [stdout]    |                   - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 99 |     let mut protocols: DKGGenProtocol<C> = Vec::with_capacity(participants.len());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/dkg.rs:99:24
[INFO] [stdout]    |
[INFO] [stdout] 75 |     new_participants: &[Participant],
[INFO] [stdout]    |                       - let's call the lifetime of this reference `'2`
[INFO] [stdout] ...
[INFO] [stdout] 99 |     let mut protocols: DKGGenProtocol<C> = Vec::with_capacity(participants.len());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ type annotation requires that `'2` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `participants_list` does not live long enough
[INFO] [stdout]   --> src/test_utils/presign.rs:81:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut protocols: GenProtocol<frost::PresignOutput<C>> =
[INFO] [stdout]    |                        ------------------------------------ type annotation requires that `participants_list` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 67 |     let participants_list = participants
[INFO] [stdout]    |         ----------------- binding `participants_list` declared here
[INFO] [stdout] ...
[INFO] [stdout] 81 |             crate::frost::presign::<C>(&participants_list, *participant, &args, rng.clone())?;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 87 | }
[INFO] [stdout]    | - `participants_list` dropped here while still borrowed
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/test_utils/presign.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             crate::frost::presign::<C>(&participants_list, *participant, &args, rng.clone())?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/mod.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   --> src/frost/mod.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn presign<C, T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 45 |     participants: &[Participant],
[INFO] [stdout] 46 |     me: Participant,
[INFO] [stdout] 47 |     args: &PresignArguments<C>,
[INFO] [stdout] 48 ~     rng: T,
[INFO] [stdout] 49 ~ ) -> Result<impl Protocol<Output = PresignOutput<C>> + use<C, T>, InitializationError>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `args` does not live long enough
[INFO] [stdout]   --> src/test_utils/presign.rs:81:74
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut protocols: GenProtocol<frost::PresignOutput<C>> =
[INFO] [stdout]    |                        ------------------------------------ type annotation requires that `args` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 74 |         let args = crate::frost::PresignArguments {
[INFO] [stdout]    |             ---- binding `args` declared here
[INFO] [stdout] ...
[INFO] [stdout] 81 |             crate::frost::presign::<C>(&participants_list, *participant, &args, rng.clone())?;
[INFO] [stdout]    |                                                                          ^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 84 |     }
[INFO] [stdout]    |     - `args` dropped here while still borrowed
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/test_utils/presign.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             crate::frost::presign::<C>(&participants_list, *participant, &args, rng.clone())?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/frost/mod.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rng: impl CryptoRngCore + Send + 'static,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   --> src/frost/mod.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn presign<C, T: CryptoRngCore + Send + 'static>(
[INFO] [stdout] 45 |     participants: &[Participant],
[INFO] [stdout] 46 |     me: Participant,
[INFO] [stdout] 47 |     args: &PresignArguments<C>,
[INFO] [stdout] 48 ~     rng: T,
[INFO] [stdout] 49 ~ ) -> Result<impl Protocol<Output = PresignOutput<C>> + use<C, T>, InitializationError>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/test_generators.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 49 |         &self,
[INFO] [stdout]    |         - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 52 |         let mut protocols: Vec<ParticipantAndProtocol<ecdsa::KeygenOutput>> = Vec::new();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/test_generators.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 72 |         &self,
[INFO] [stdout]    |         - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 75 |         let mut protocols: Vec<ParticipantAndProtocol<frost::eddsa::KeygenOutput>> = Vec::new();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/test_utils/test_generators.rs:98:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |         &self,
[INFO] [stdout]    |         - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 98 |         let mut protocols: Vec<ParticipantAndProtocol<ckd::KeygenOutput>> = Vec::new();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/test_utils/test_generators.rs:121:28
[INFO] [stdout]     |
[INFO] [stdout] 118 |         &self,
[INFO] [stdout]     |         - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 121 |         let mut protocols: Vec<ParticipantAndProtocol<TripleGenerationOutput>> = Vec::new();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/test_utils/test_generators.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 170 |         &self,
[INFO] [stdout]     |         - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 176 |         let mut protocols: Vec<ParticipantAndProtocol<Option<ecdsa::Signature>>> = Vec::new();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0597`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `threshold-signatures` (lib) due to 11 previous errors
[INFO] running `Command { std: "docker" "inspect" "4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6", kill_on_drop: false }`
[INFO] [stdout] 4b4dad5dc9c141261acdcffbec183b42e5e386a4b10188870956fa4cf14c78c6
